1. Field of the Invention
This invention relates to the field of computer networks and more specifically to the fields of computer networks and computer simulation.
2. Description of Prior Art
Computer programs for simulation of linear and nonlinear models have long been used to predict or evaluate the behavior of physical systems and components. These programs have also been used to educate students about linear and nonlinear system design. And these programs have previously been used in conjunction with networks (including the Internet) by means of remote terminals or display servers such as X Window.
The use of simulation programs by means of terminals or display servers has typically required a “logon account” and associated password to be created and administered for each user desiring to use the simulation software. Alternatively, guest accounts can be created for which all users share a common storage area and privileges. Both of these methods have limited applicability to public networks, such as the Internet, because                1. Individual logon accounts require time and expense to establish and maintain.        2. Individual logon accounts are not anonymous.        3. Anonymous accounts typically provide only a common storage area where one user's data are at the mercy of other users.        4. Logon accounts are inherently more difficult to make secure than access to a “web server”.        5. The display of graphics typically requires the installation of a program such as an X Window server, with associated purchase, storage and maintenance costs.        6. Terminal and display server programs typically will not work across Firewalls without the installation of a special Proxy Server, with associated purchase, storage and maintenance costs.        7. Typical simulation programs do not log their usage.        8. The HTTP protocol and built-in functions of “web browsers” and “web servers” provide no support for resource management of a public CAD tool.        
The following books/documents provide relevant background and are incorporated by reference:    “CGI Programming on the World Wide Web”, Shishir Gundavaram, 1996 O'Reilly & Associates, Inc.    The CGI-HTTP mechanism is the handshake between a Browser client and a Web Server. This book contains an explanation of the “Common Gateway Interface” (CGI) mechanism, including “Hypertext Transfer Protocol” (HTTP) headers, the processing of client forms, server redirection, maintaining state by PATH_INFO, hidden fields and “cookies”, etc. It includes examples in Perl, the language used in the microfiche code listing.    “The Essential Client/Server Survival Guide, Second Edition”, Orfali, Harkey and Edwards, © 1996 John Wiley and Sons    This is an introductory text on client/server computing and features a section (8) about implementing client/server over the world-wide web (chapters 27-31).    “Programming Perl”, Larry Wall & Randal L Schwartz, © 1991 O'Reilly & Associates, Inc.    This is the official reference manual for the Perl programming language, the language principally used in the code listings.    “Java in a Nutshell, A Desktop Quick Reference for Java Programmers”, David Flanagan, © 1996 O'Reilly & Associates, Inc.    An introductory text for the Java programming language, which is used in an auxiliary portion of the code listings, related to circuit synthesis before simulation.    “HTML: The Definitive Guide”, Musciano & Kennedy, © 1996 O'Reilly & Associates, Inc.    An introductory text for HTML, the markup language used in the preferred embodiment for presentation of forms and simulation results (as detailed in the code listings). This book is more readable than the HTML specifications, listed below.    “JavaScript: The Definitive Guide, 2nd edition”, David Flanagan, © 1996-7 O'Reilly & Associates, Inc.    An introductory text that is more readable than the official Netscape JavaScript specs or the ECMAScript spec. In the preferred embodiment JavaScript is used to provide auxiliary functionality.    RFC 1945 (HTTP 1.0)/2048 (HTTP 1.1)/etc., IETF (Internet Engineering Task Force)    These are the W3C standards for Hypertext Transfer Protocol (HTTP) 1.0 and 1.1 http://www.w3.org/pub/WWW/Protocols/rfc1945/rfc1945 http://www.w3.org/pub/WWW/Protocols/rfc2068/rfc2068    RFC 1866 (HTML 2.0), IETF    This is the IETF standard for Hypertext Mark-up Language (HTML) 2.0 (now obsolete, however HTML3.2 is backward compatible with HTML 2.0) http://www.ictf.org/rfc/rfc1866.txt    HTML 3.2, W3C (World-Wide Web Consortium)    The preferred embodiment presents form data and simulation results in HTML format. Below is the link to the W3C standard for HTML 3.2 http://www.w3.org/TR/REC-html32    U.S. Provisional Patent Application 60/080,905
As used in this document, the following words with capitalized first letters have special meanings:                A Computer includes any number and organization (cluster, array, etc.) of CPUs, memory/storage/communication devices, etc. and whose function includes the processing of data.        A Client is a Computer that is capable of accepting input from and providing output to an operator. A Client may also be a Server.        A Server is a Computer that provides computational, data storage, communication or other services for at least one (and usually more than one) Client. A Server may also be a Client.        A User is an individual or process that uses a Client. One Client can have multiple Users.        A Network includes all proxy servers, gateways, routers, communication channels, cabling, etc. that comprise a communication medium between two Computers, such as a private, local network or a public network such as the internet.        A Unique Identifier is a token (a collection of letters, digits and other symbols) that with high probability (>99%) is uniquely associated with a single User. For example, a uniformly-chosen 64-bit random number is considered a Unique Identifier for the purposes of this definition, because the probability is very small (<1%) that two users could be assigned the same number. A Unique Identifier does not necessarily contain or point to personal information about the user, i.e., an anonymous user can be assigned a Unique Identifier. A Browser is a Client program that at least a) accepts data in the form of a display list (e.g. HTML, XML) and b) wherein at least one of the interpretable display list elements is a “hyperlink” having the capability to “link” to display list data on Servers other than (and in addition to) that which provide the list containing the link. c) uses an intrinsically stateless, file-oriented protocol (e.g. HTTP) to retrieve objects named in the display list (e.g. GIF, JPG). Typical Browsers have many other capabilities in addition to these. The words “link” and “hyperlink” are standard terms of art within the field of HTML, HTTP and the WWW.        Form Structure Data are those elements of a fetched Browser display list (e.g. <FORM> tag and associated elements) that create corresponding form elements in which data can be entered and submitted to a Server (such submitted data is Form Data)        
Form Structure Data are those elements of a fetched Browser display list (e.g. <FORM> tag and associated elements) that create corresponding form elements in which data can be entered and submitted to a Server (such submitted data is Form Data). Form Creation Data is any data used to create a user interface for data entry. Form Creation Data includes Form Structure Data as well as programmatic means of creating a user interface such as a Java applet (see FIG. 4-L). Data submitted to a Server from a form created by using Form Creation Data is also Form Data. A Stateless Communications Protocol is a protocol, such as HTTP, which is file-oriented and maintains no common state between contemporary or sequential transactions. Such a protocol is capable of transmitting state information (e.g., Netscape “Cookies”), but the protocol itself is inherently stateless. A Schematic is a structural or procedural diagram, especially of an electrical or mechanical system.